﻿using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
using System;
using System.Threading.Tasks;

namespace Aspire.Repository.EfCore
{
    public interface IRepositoryEfCore<TId, TEntity> : IRepository<TId, TEntity>
         where TEntity : BaseEfCoreEntity<TId>
    {
        Task<bool> UpdateAsync(TId id, Action<TEntity> updater);

        IEntityType EntityType { get; }

        DbSet<TEntity> Query { get; }
    }
}
